package thread;

/**
 * java中所有的代码都是靠线程运行的,main方法也不例外,当java程序启动后
 * 虚拟机会创建一条线程来执行main方法,这条线程的名字也叫main,因此我们
 * 称运行main方法的线程为主线程.
 *
 * static Thread currentThread()
 * 线程提供了静态方法currentThread可以获取运行该方法的线程.
 */
public class CurrentThreadDemo {
    public static void main(String[] args) {
        Thread main = Thread.currentThread();

        Thread t = new Thread(){
            public void run(){
                Thread t = Thread.currentThread();
                System.out.println("自定义线程:"+t);
                dosome();
                System.out.println("自定义线程执行完毕!");
            }
        };
        //t启动后,其run中的代码就和下面main方法其他代码并发运行了
        t.start();

        System.out.println("主线程:"+main);
        dosome();
        System.out.println("主线程执行完毕!");
    }

    public static void dosome(){
        Thread t = Thread.currentThread();
        for(int i=0;i<1000;i++){
            System.out.println("执行dosome方法的线程是:"+t);
        }
    }
}






